#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from Utils.LoadConfig import load_config_excels_obj
from Utils.Logger import logger
from Config.PackPath import SCRIPT_EXCEL_DIR
from Scripts.TimeLimitItems import time_limit_items
import os
import sys


Notification = \
    '*****************************************************************************************************\n' \
    '** 如果是首次使用该工具，请先提前配置配置表目录的路径，如果不配置，工具会将 ./ExcelFiles/ConfigExcel 文件\n' \
    '** 夹作为配置表的目录。\n' \
    '** \n' \
    '** 配置方法：打开 ./Config/LocalMachineConfig.json 文件，并在 LocalConfigExcelsPath 后填入配置表目录的\n' \
    '** 路径，如 "D:\\\GITLib\\\GDTools\\\OpenXL\\\ExcelFiles\\\ConfigExcel" 注意由于 "\\" 是转义字符，所以请填入\n' \
    '** 两个确保正确。\n'

LoadingConfigExcelsMsg = \
    '** 正在读取配置表，请稍等...'

FinishLoadingConfigExcelsMsg = \
    '** 配置表读取完毕\n' \
    '*****************************************************************************************************\n\n'

MainTitle = \
    '\n' \
    '*****************************************************************************************************\n' \
    '** 策划快速配置工具，目前支持：\n' \
    '** 01. 快速配置"时效道具"\n' \
    '** \n' \
    '** 请输入任意功能前的编号并敲击回车键使用该功能，敲击"q"键并回车退出程序。\n' \
    '*****************************************************************************************************\n\n'

print(Notification)
print(LoadingConfigExcelsMsg)
config_excel_obj_dict = load_config_excels_obj()
print(FinishLoadingConfigExcelsMsg)

while True:
    console_input = input(MainTitle)

    if console_input == 'q' or console_input == 'Q':
        sys.exit(0)

    elif console_input == '01' or console_input == '1':
        try:
            objects_config_excel_obj = config_excel_obj_dict['objects.xlsx']
            shopconfig_config_excel_obj = config_excel_obj_dict['ShopConfig.xlsx']
            script_excel_path = os.path.join(SCRIPT_EXCEL_DIR, '时效道具.xlsx')
            time_limit_items(script_excel_path, objects_config_excel_obj, shopconfig_config_excel_obj)
        except Exception as e:
            logger.error(e[:-1])
